package cn.e4j.modular.crm.mapper;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.crm.entity.GwcsT;
import cn.e4j.modular.crm.entity.GwdfT;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  订单变更 Mapper 接口
 * </p>
 *
 * @author miaoyl
 * @since 2019-03-13
 */
public interface GwdfTMapper extends BaseMapper<GwdfT> {

    /**
     * 订单变更单信息列表
     */
    List<Map<String, Object>> listGwdfPage(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    /**
     * 订单变更单信息列表
     */
    List<Map<String, Object>> listGwdfPageOra(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 订单信息列表
     */
    List<Map<String, Object>> getCOPTCList(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 获取最大变更版号
     */
    Dto getMaxGWDF002(@Param("dto") Dto dto);

    /**
     * 订单单身信息列表
     */
    List<Map<String, Object>> getCOPTDList(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 订单信息列表
     */
    List<Map<String, Object>> getCOPTDData(@Param("dto") Dto dto);

    /**
     * 获取仓库类型
     */
    Dto getGwcs112(@Param("dto") Dto dto);

    Dto getCoptcInfo(@Param("mlegal") String mlegal, @Param("TC002") String TC002);

    /**
     * 变更单单身信息列表
     */
    List<Map<String, Object>> getGwdfInfo(@Param("dto") Dto dto);

    /**
     * 变更单信息
     */
    List<GwdfT> getGwdfData(@Param("dto") Dto dto);

    /**
     * 获取已发货数量
     */
    Dto getSumTh008(@Param("dto") Dto dto);

    void updateCOPTD(@Param("dto") Dto dto);

    void updateCOPTC(@Param("dto") Dto dto);

    /**
     * 订单信息列表
     */
    List<Map<String, Object>> getGwcsList(@Param("dto") Dto dto);

    /**
     * 获取仓库上调比例
     */
    Dto getGwak063(@Param("dto") Dto dto);

    /**
     * 获取最大项序
     */
    Dto getMaxTD003(@Param("mlegal") String mlegal,@Param("TD002") String TD002);

    GwcsT getMaxGwcsseq(@Param("GWCSDOCNO") String GWCSDOCNO);

    Dto getGwam(@Param("dto") Dto dto);

    void insertCOPTD(@Param("dto") Dto dto);

    void delCOPTD(@Param("dto") Dto dto);

    void updateCOPTCDEL(@Param("dto") Dto dto);

    void updateTD(@Param("dto") Dto dto);

    void updateGwdf(@Param("dto") Dto dto);

    void updateGwdf1(@Param("dto") Dto dto);
}
